/*
 * Copyright (C) 2014 Realtek Semiconductor Corp.
 * All Rights Reserved.
 *
 * This program is the proprietary software of Realtek Semiconductor
 * Corporation and/or its licensors, and only be used, duplicated,
 * modified or distributed under the authorized license from Realtek.
 *
 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
 *
 */


#include "app_basic.h"

MIB_TABLE_INFO_T gMibPhysicalPathTerminationPointISDNUNITableInfo;
MIB_ATTR_INFO_T  gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ATTR_NUM];
MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_T gMibPhysicalPathTerminationPointISDNUNIDefRow;
MIB_TABLE_OPER_T gMibPhysicalPathTerminationPointISDNUNIOper;

GOS_ERROR_CODE PhysicalPathTerminationPointISDNUNIDrvCfg(void* pOldRow, void* pNewRow, MIB_OPERA_TYPE operationType, MIB_ATTRS_SET attrSet, UINT32 pri)
{
    OMCI_LOG(OMCI_LOG_LEVEL_DBG, "Start %s...", __FUNCTION__);

    switch (operationType){
    case MIB_ADD:
    	OMCI_LOG(OMCI_LOG_LEVEL_DBG,"PhysicalPathTerminationPointISDNUNI --> ADD");
    	break;
    case MIB_SET:
    	OMCI_LOG(OMCI_LOG_LEVEL_DBG,"PhysicalPathTerminationPointISDNUNI --> SET");
    	break;
    case MIB_GET:
    	OMCI_LOG(OMCI_LOG_LEVEL_DBG,"PhysicalPathTerminationPointISDNUNI --> GET");
    	break;
    case MIB_DEL:
    	OMCI_LOG(OMCI_LOG_LEVEL_DBG,"PhysicalPathTerminationPointISDNUNI --> DEL");
    	break;
    default:
    	return GOS_FAIL;
    	break;
    }

    return GOS_OK;
}
GOS_ERROR_CODE mibTable_init(MIB_TABLE_INDEX tableId)
{
    gMibPhysicalPathTerminationPointISDNUNITableInfo.Name = "PhysicalPathTerminationPointISDNUNI";
    gMibPhysicalPathTerminationPointISDNUNITableInfo.ShortName = "PPTPISDNUNI";
    gMibPhysicalPathTerminationPointISDNUNITableInfo.Desc = "Physical path termination point ISDN UNI";
    gMibPhysicalPathTerminationPointISDNUNITableInfo.ClassId = (UINT32)(OMCI_ME_CLASS_PPTP_ISDN_UNI);
    gMibPhysicalPathTerminationPointISDNUNITableInfo.InitType = (UINT32)(OMCI_ME_INIT_TYPE_ONU);
    gMibPhysicalPathTerminationPointISDNUNITableInfo.StdType = (UINT32)(OMCI_ME_TYPE_STANDARD);
    gMibPhysicalPathTerminationPointISDNUNITableInfo.ActionType = (UINT32)(OMCI_ME_ACTION_SET | OMCI_ME_ACTION_GET | OMCI_ME_ACTION_TEST);
    gMibPhysicalPathTerminationPointISDNUNITableInfo.pAttributes = &(gMibPhysicalPathTerminationPointISDNUNIAttrInfo[0]);

    gMibPhysicalPathTerminationPointISDNUNITableInfo.attrNum = MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ATTR_NUM;
    gMibPhysicalPathTerminationPointISDNUNITableInfo.entrySize = sizeof(MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_T);
    gMibPhysicalPathTerminationPointISDNUNITableInfo.pDefaultRow = &gMibPhysicalPathTerminationPointISDNUNIDefRow;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Name = "EntityId";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].Name = "AdministrativeState";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].Name = "InterworkingPointer";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Name = "DChannelID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Name = "B1ChannelID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Name = "B2ChannelID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].Name = "ARC";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].Name = "ARCInterval";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].Name = "ISDNLoopbackConfiguration";

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Entity ID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Administrative state";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Interworking pointer";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "D channel ID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "B1 channel ID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "B2 channel ID";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "ARC";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "ARC interval";
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "ISDN loopback configuration";

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT8;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].Len = 1;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_HEX;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_SBC;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = TRUE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;

    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ADMINISTRATIVESTATE_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INTERWORKINGPOINTER_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_OPTIONAL;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_DCHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B1CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_B2CHANNELID_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARC_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_OPTIONAL;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ARCINTERVAL_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibPhysicalPathTerminationPointISDNUNIAttrInfo[MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_ISDNLOOPBACKCONFIGURATION_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;

    gMibPhysicalPathTerminationPointISDNUNIDefRow.EntityId = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.AdministrativeState = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.InterworkingPointer = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.DChannelID = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.B1ChannelID = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.B2ChannelID = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.ARC = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.ARCInterval = 0;
    gMibPhysicalPathTerminationPointISDNUNIDefRow.ISDNLoopbackConfiguration = 0;

    memset(&gMibPhysicalPathTerminationPointISDNUNIOper, 0x0, sizeof(MIB_TABLE_OPER_T));
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperDrvCfg = PhysicalPathTerminationPointISDNUNIDrvCfg;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperConnCheck = NULL;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperDump = omci_mib_oper_dump_default_handler;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperConnCfg = NULL;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperAvlTreeAdd = NULL;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperAlarmHandler = NULL;
    gMibPhysicalPathTerminationPointISDNUNIOper.meOperTestHandler = NULL;

    MIB_TABLE_PHYSICALPATHTERMINATIONPOINTISDNUNI_INDEX = tableId;
    MIB_InfoRegister(tableId, &gMibPhysicalPathTerminationPointISDNUNITableInfo, &gMibPhysicalPathTerminationPointISDNUNIOper);
    MIB_RegisterCallback(tableId, NULL, NULL);

    return GOS_OK;
}

